#pragma once

#include <common.h>
#include <riscv/regs.h>

namespace riscv {
  class FuncStack {
  public:
    FuncStack();

    void add_alloc_size(unsigned int size);
    void add_stored_reg(Reg red);
    std::set<Reg> get_stored_regs();
    unsigned int all_alloc_size();
    unsigned int all_size();

  private:
    unsigned int alloc_size;
    std::set<Reg> stored_regs;
  };
}
